1. Technical Field
Example embodiments of the present invention relate in general to a multi-core processor and more specifically to a method of managing power of a multi-core processor, a recording medium storing a program for performing the method, and a multi-core processor system.
2. Related Art
In recent design and management of computer systems, not only computer performance but also power and energy have been main concerns. In particular, energy efficiency is important for portable devices or embedded systems.
Most portable devices and embedded systems operate on batteries and thus require more efficient power management than tethered devices that can be connected to a main power supply.
For example, a system with high power consumption emits a large amount of heat. Thus, the system needs to use an expensive packaging material, and may require a heat sink, which may result in increases in volume and production cost.
Dynamic voltage frequency scaling (DVFS), which is a power management technique for reducing power and energy consumption, provides a method of reducing power consumption of a microprocessor and related circuit by adjusting the supply voltage and clock frequency of a system. DVFS has a quadratic equation between a supply voltage and energy consumption, and analyzes use rates and power consumptions of a system according to several DVFS configurations to enable manufacturing of a scheduler for the DVFS technique needed to reduce power consumption, so that a device using a battery having a limited capacity can have more available power.
A multi-core processor having a plurality of cores drives at least one core to process the process of an application. At this time, when the use rate of processor resources (i.e., a time period during which the processor is occupied) required by the process is not 100%, only process performance required by the process is ensured using the DVFS technique to prevent use of unnecessary resources and reduce power consumption.
However, when a point in time at which an executed process must be finished (process deadline) is not accurately estimated, the general DVFS technique cannot ensure quality of service (QoS) of an application.
FIG. 1 is a graph illustrating power consumption when power of a processor is not managed, and FIG. 2 is a graph illustrating a case in which power of a processor is managed to prevent unnecessary power consumption.
Referring to FIGS. 1 and 2, power consumption can be briefly classified into static power consumption and dynamic power consumption. Static power consumption denotes a state in which since a process is not allocated to a core of a processor, the core is not driven but is supplied with and consumes power. Dynamic power consumption denotes a state in which a process is allocated to a core, and the core consumes power.
In general, a program code executed in the static power consumption state requests less than about 3% of resources from the kernel code of an operating system. However, in the graph shown in FIG. 1, 100% of resources are allocated, and unnecessary power is consumed.
Also, a dynamic power consumption section is in proportion with the number of tasks that should be processed by one process. When there is an interval between dynamic power consumption sections as shown in FIG. 1, an idle process occupies a core, and unnecessary power is consumed.
In FIG. 1, assuming that each block denoting a dynamic power consumption section is one process, the start time of each block is the start time of a process. Thus, when resources are set so that a currently performed dynamic power consumption block is finished by the start time of the next dynamic power consumption block, power consumption can be minimized by dynamically adjusting performance of a core.
In other words, when the performance of a core is dynamically adjusted by DVFS so that there is no static power consumption section between dynamic power consumption sections as shown in FIG. 2, it is possible to prevent unnecessary power consumption caused by an idle process occupying a core.
FIG. 3 is a graph showing the result of performing power management using a conventional power management method, in which a processor use rate obtained when on-demand power management is performed in an environment in which a specific application is executed is compared to a processor use rate obtained when no power management is performed.
In the graph of FIG. 3, an abscissa denotes time, and an ordinate denotes processor use rate of a user and/or a system.
In on-demand power management, control of a processor core is determined upon a specific use rate of a processor. For example, if control is performed at a use rate of 80%, performance of a core occupied by the process of an application is lowered by one level when the processor use rate is less than 80%. On the other hand, when the processor use rate is 80% or more, a DVFS setting is raised by one level to improve performance of the core.
However, the on-demand method cannot ensure a process deadline and thus is not appropriate for DVFS power management.
As shown in FIG. 3, when control is performed upon the processor use rate of 80%, the use rate of a processor core is evaluated to be less than 80% at eight seconds. Thus, performance of the activated core is lowered, and the execution time of a current process is delayed beyond the execution start time of the next process.
Referring to FIG. 3, when no control is performed (No Policy), the execution time of a process is 13 seconds. On the other hand, in the case of the on-demand method, the execution time of a process is 17 seconds, which is delayed for four seconds. Furthermore, when the delay of such a process execution time is accumulated, the overall performance of a system deteriorates.